package com.les.ufcg.gerenciador.elementos;

import java.util.Calendar;

import android.graphics.Bitmap;

public class Emprestimo {
	
	private int _id;
	private String de_quem;
	private String para_quem;
	private String descricao;
	private String categoria;
	private Calendar dataEprestimo;
	private Calendar dataDevolucao;
	private boolean notificar = false;
	private Bitmap imagem;
	
	/**
	 * Construtor simplificado sem valor de Id utiliado pelo android
	 * Credor (quem empresta), Devedor (quem pega emprestado)
	 */
	public Emprestimo(String de_quem, String para_quem, String descricao, 
			String categoria, Calendar dataEprestimo, Calendar dataDevolucao,
			Boolean notificar, Bitmap imagem){
		this.de_quem = de_quem;
		this.para_quem = para_quem;
		this.descricao = descricao; 
		this.categoria = categoria;
		this.dataEprestimo = Calendar.getInstance();
		this.dataDevolucao = dataDevolucao;
		this.notificar = notificar;
		this.imagem = imagem;
	}
	
	
	/**
	 * Construtor utilizado ao recuperar do banco de dados
	 */
	public Emprestimo(int _id, String de_quem, String para_quem, String descricao, 
			String categoria, Calendar dataEprestimo, Calendar dataDevolucao,
			Boolean notificar, Bitmap imagem){
		this(de_quem, para_quem, descricao, categoria, dataEprestimo, dataDevolucao, notificar, imagem);
		this._id = _id;
	}

	public String getDeQuem() {
		return de_quem;
	}
	
	public void setDeQuem(String credor) {
		this.de_quem = credor;
	}

	public String getParaQuem() {
		return para_quem;
	}

	public void setDevedor(String devedor) {
		this.para_quem = devedor;
	}

	public String getDescricaoDoItem() {
		return descricao;
	}

	public void setDescricaoDoItem(String descricaoDoItem) {
		this.descricao = descricaoDoItem;
	}

	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}

	public Calendar getDataEprestimo() {
		return dataEprestimo;
	}

	public void setDataEprestimo(Calendar dataEprestimo) {
		this.dataEprestimo = dataEprestimo;
	}

	public Calendar getDataDevolucao() {
		return dataDevolucao;
	}

	public void setDataDevolucao(Calendar dataDevolucao) {
		this.dataDevolucao = dataDevolucao;
	}

	public boolean isNotificar() {
		return notificar;
	}

	public void setNotificar(boolean notificar) {
		this.notificar = notificar;
	}

	public int get_id() {
		return _id;
	}
	
	public Bitmap getImagem() {
		return imagem;
	}


	public void setImagem(Bitmap imagem) {
		this.imagem = imagem;
	}
	
	public String getDiaMesAno(Calendar c) {
		return c.get(Calendar.DAY_OF_MONTH) + "/" + c.get(Calendar.MONTH) + "/" + c.get(Calendar.YEAR);
	}
	

	/**
	 * ToString
	 * 
	 * @return String com a descricao do emprestimo, para armazenamento
	 * em bando de dados 
	 */
	public String toString(){
		return _id + "|" + de_quem + "|" + para_quem
				+ "|" + descricao + "|" + categoria; 
	}
	
}
